//山峰数组的峰顶；
//实例1：
//输入：arr=[0,1,0];
//输出：1;
//实例2：
//输入：arr=[0,2,1,0]
//输出：1;
//实例3：
//输入：arr=[24,69,100,99,79,78,67,36,26,19];
//输出：2
//解题方法：
//二分查找算法：
//利用二段性可以将这个山峰数组分成两部分：一部分：上山：(单调性依次递增）；另一部分：下山（单调性依次递减);

public class NM1 {
    public static int fun(int[] arr){
        //1,进行相关变量的设置’
        int left=1;
        int right= arr.length-2;
        //2.进行二分算法：
        while(left<right){
            int mid=left+(right-left+1)/2;
            if(arr[mid]>arr[mid-1]){
                left=mid;
            }else{
                right=mid-1;
            }
        }
        return left;
    }
    public static void main(String[] args){
        int[] arr={24,69,100,99,79,78,67,36,26,19};
        int ret=fun(arr);
        System.out.println("峰顶元素的下标为："+ret);
    }
}
